package com.xuetang9.service;

import com.xuetang9.domain.Defect;
import com.xuetang9.dto.InputDto;
import com.xuetang9.vo.ListVO;

import java.util.List;

/**
 * @author: allende
 * @Describe: 缺陷类型的实现类接口
 * @vision: 1.0.0
 */
public interface DefectService {
    /**
     * 缺陷类型的添加
     * @param defect 需要添加的缺陷类型
     * @return 返回缺陷查询结果
     */
    default int insertDefectType(Defect defect){
        return -1;
    }

    /**
     * 查询全部缺陷类型
     * @return 返回查询全部缺陷类型结果
     */
    default List<Defect> listDefectType(){
        return null;
    }

    /**
     * 修改缺陷类型
     * @param defect 根据defect修改缺陷类型
     * @return 返回修改缺陷类型与状态的结果
     */
    default int updateDefectType(Defect defect){
        return -1;
    }

    /**
     * 修改缺陷状态
     * @param defect 根据defect修改缺陷状态
     * @return 返回修改缺陷状态缺陷的结果
     */
    default int updateDefectStatus(Defect defect){
        return -1;
    }

    /**
     * 删除缺陷类型
     * @param id 根据id删除缺陷
     * @return 返回删除缺陷的结果
     */
    default int deleteDefect(int id){
        return -1;
    }

    /**
     * 处理缺陷管理修改类业务
     * @param inputDto 业务处理输入对象
     * @return 处理结果
     */
    default int confirmDefectLevel(InputDto inputDto){ return -1;}

    /**
     * 缺陷管理查看类业务
     * @param inputDto 业务处理输入对象
     * @return 查询结果
     */
    default ListVO defectLevelView(InputDto inputDto){ return null;}
}
